public class Kasse { private double wert; private Warenlager lager; public Kasse(Warenlager l) { lager = l; wert = 0.0; } public Kasse(Warenlager l, double w ) { lager = l; wert = w; } public String toString() { return String.format("%6.2f Euro", wert); } public void verkauf() { int choice = -1; int count; Verkauf v = new Verkauf(); while (true){ System.out.print( listLager() + "0. Verkauf abschließen\n" ); choice = Read.getInt("Ware: "); if ( choice == 0 ) { wert += v.wert(); System.out.print(v + "\n"); return; } else if ( ! lager.existiert(choice - 1) ) { System.err.print("Ware existiert nicht"); } else { count = Read.getInt("Anzahl: "); // lager.bestand[2] <- 53 Stifte (Warenbestand) // lager.bestand[2].ware <- Stift (Ware) v.transfer( lager, lager.get(choice - 1).ware, count ); System.out.print(v + "\n"); System.out.print( lager.get(choice - 1) + "\n\n" ); } } } private String listLager() { Liste b; String r = ""; int n = 1; for ( b = lager.bestand; b != null; b = b.next) { r = r + n + ". " + ((Warenbestand)b.data).ware.toString() + "\n"; n++; } return r; } }